package com.jie.langlangmall.portal.dao;

import com.jie.langlangmall.model.OmsOrderItem;
import com.jie.langlangmall.portal.domain.OmsOrderDetail;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author Jie
 * @Date 2024/11/28
 * @Email 3217998214@qq.com
 * @Description 订单
 */
public interface OmsOrderDao {

    /**
     * 获取超时订单
     * @param minute
     * @return
     */
    List<OmsOrderDetail> getTimeOutOrders(@Param("minute") Integer minute);

    /**
     * 修改订单状态
     * @param ids
     * @param status
     */
    void updateOrderStatus(@Param("ids") List<Long> ids, @Param("status") Integer status);

    /**
     * 取消订单锁定的库存
     * @param orderItemList
     * @return
     */
    void releaseSkuStockLock(@Param("itemList") List<OmsOrderItem> orderItemList);

    /**
     * 获取订单和商品详情
     * @param orderId
     * @return
     */
    OmsOrderDetail getDetail(@Param("orderId") Long orderId);

    /**
     * 修改 pms_sku_stock表的锁定库存及真实库
     * @param orderItemList
     */
    void updateSkuStock(@Param("itemList") List<OmsOrderItem> orderItemList);

}

